#ifndef JOUEURIADIFFICILE_H
#define JOUEURIADIFFICILE_H

#include "joueur.h"

typedef struct {
	int alpha;
	int beta;
} t_alphabeta;

class JoueurIADifficile : public Joueur {

	Q_OBJECT

public:
	JoueurIADifficile(int pNumero, const QString& pNom);

	virtual int jouer(const Plateau& pEtat);

private:
	int min(const Plateau& pEtat, int pProfondeur, int pNbPrisesJoueur, int pNbPrisesAdversaire, t_alphabeta pAlphaBeta) const;
	int max(const Plateau& pEtat, int pProfondeur, int pNbPrisesJoueur, int pNbPrisesAdversaire, t_alphabeta pAlphaBeta) const;
};

#endif // JOUEURIADIFFICILE_H
